Various systems employ software communications where a particular source sends information or data to one or more destinations. For example, network systems typically employ a server that sends data to and receives data from a plurality of work stations. The network system may include a switch router having a master processor and a plurality of slave processors that communicate with each other through various software communication processes. The master processor and the slave processors would have predetermined functions, where the master processor controls the operation of the slave processors, as is well understood to those skilled in the art. Typically, the master processor and the slave processors will be operating at the same speed. However, during certain times, depending on the flow of data between the server and the stations, one or more of the slave processors may be receiving communications from the master processor at such a high rate that the slave processor is unable to act on the communications quickly enough. Such an occurrence may result in information or data being lost or dropped, where the master processor will have to resend the data to the slave processor. In other words, if the slave processor is overwhelmed with data communications from the master processor, it is likely that some of the data will be dropped.
Typical communications between the processors, such as those using the TCP, result in a hand shaking procedure where the slave processors acknowledge through a return transmission that they either received or did not receive the particular data stream, where it would need to be resent if it was not received. However, by requiring the slave processors to send return messages back to the master processor, and have the master processor resend the data that has already been transmitted, an even higher increase in the flow of traffic between the master processor and the slave processors occurs, resulting in more congestion and more dropped data. Further, the slave processors may have to ask the master processor to stop sending data for some period of time, which also creates more system traffic. Also, it is possible that with too much data being sent between the master processor and the slave processors, the master processor and a slave processor may get into an inconsistent state, where they are out of sync with each other resulting in more serious network traffic flow problems.